ホームに戻る
出典 :
XML API ドキュメント コメント コメント - /// コメントを使用したドキュメント API - C# reference | Microsoft Learn 推奨される XML ドキュメント タグ - C# reference | Microsoft Learn XML ドキュメントのコメントの例 - C# reference | Microsoft Learn 【C#】XMLドキュメントコメントのタグ一覧 #XmlDocument - Qiita [C#, Visual Studio]ドキュメントコメント(/// <summary>のやつ)に関わる概念の整理(何となく使っている状態から一歩進めたい) #VisualStudio - Qiita
関連 :
xxxx xxxx
目次 :

ドキュメントコメント

C#のソースファイル中に、型(クラス、インタフェースなど)および型のメンバ(メソッド、プロパティなど)に関する説明をXML形式で付与することができる。 これらはオブジェクトをマウスオーバーした際に付与された説明を表示(Visual Studio IntelliSenseの機能)したり、 コンパイル時にXMLドキュメントを出力することができる(後述)。

/// <summary> /// MyClass の概要 /// </summary> public class MyClass { }
上記のコードにおいて、///で始まる各行がドキュメントコメントである。 この場合、クラスMyClassの概要をsummaryタグとして付与している。 なお、Visual StudioでのC#ソースファイル編集時、クラスまたはAPI宣言の直前で///を入力すると、自動的にsummaryタグが挿入される。 (オプションでオフにすることも可能。) 型、メンバいずれに対してもsummaryタグが必須(他のタグは任意)である。

ビルド時にXMLドキュメントを出力する際の設定

画像 プロジェクトファイルのプロパティを開き、「ビルド」>「出力」を選択する。 ドキュメントを出力する場合は「ドキュメント ファイル」にチェックを入れる。

C#で使用できるタグの一覧

型と型メンバの説明

タグ名 書式 適用先 説明 備考
メソッド プロパティ
summary /// <summary>型または型メンバの概要</summary> 型または型メンバの概要を記述する。
remarks /// <remarks>補足説明</remarks> summaryの内容を補足する。
returns /// <returns>メソッド戻り値の説明</returns> メソッドの戻り値に関する説明を記述する。
param /// <param name="param1">パラメータ param1 の説明</param> /// <param name="param2">パラメータ param2 の説明</param> メソッドのパラメータ(引数)に関する説明を記述する。 name はメソッド宣言の仮引数と一致している必要がある。
paramref /// <remarks><paramref name="param1"/> を使用する際は…</remarks> summary や remarks など他のタグ中で メソッドのパラメータを参照する。 当該パラメータの param の記述がある場合は、 そちらへの参照が作成される。
typeparam /// <typeparam name="T1">型パラメータ T1 の説明</typeparam> /// <typeparam name="T2">型パラメータ T2 の説明</typeparam> ジェネリック型、またはメソッドの 型パラメータに関する説明を記述する。
typeparamref /// <remarks><typeparamref name="T1"/> を使用する際は…</remarks> summary や remarks など他のタグ中で 型パラメータを参照する。 当該型パラメータの typeparam の記述がある場合は、 そちらへの参照が作成される。
exception /// <exception cref="ArgumentException">引数が不正</exception> /// <exception cref="Exception">上記以外</exception> 送出される例外を記述する。 cref は現在のコンパイル環境から使用できる例外を記述する。
value /// <value>プロパティ値の説明</value> プロパティが表す値を記述する。

出力体裁の指定

タグ名 書式 表示例 (IntelliSense) 説明 備考
para <summary> 概要 </summary> <remarks> <para> 段落:序文 <para> </para> 段落:本文 </para> </remarks> 画像 段落を表現する。 段落の上下にはスペースが挿入される。
br/ <summary> 概要 </summary> <remarks> 1行目<br/> 2行目<br/> 3行目 </remarks> 画像 改行を挿入する。
list リストを作成する。(後述)
code <summary> 概要 </summary> <remarks> <code> var index = 5; ++index; </code> </remarks> 画像 複数行をコードとして指定する。 (ブロック) 整形済みテキストとして取り扱われる。 (HTMLの pre と同様。改行、スペースが記述通りに反映される。) para 同様、上下にスペースが挿入される。
c <summary> 概要 </summary> <remarks> 行内に <c>string</c> を含む文 </remarks> 画像 行内の一部をコードとして指定する。 (インライン)
b <summary> 概要 </summary> <remarks> <b>BOLD/b><br/> <i>ITALIC</i><br/> <u>UNDERLINED</u> </remarks> 画像 テキストを太字にする。
i テキストを斜体にする。
u テキストに下線を引く。

list タグの詳細

<list type="bullet|number|table"> <listheader> <term>見出し行の概要</term> <description>見出し行の詳細</description> </listheader> <item> <term>項目の概要</term> <description>項目の詳細</description> </item> </list>
list タグは箇条書き(bullet)、番号付き(number)、テーブル形式(table)のリストを作成できる( type プロパティで指定)。 listheader には見出し行、item に各項目の説明を記述する。 listheader は最大で1つ、item は必要な個数記述できる。
形式 書式 表示例 (IntelliSense) 説明
箇条書き (bullet) <list type="bullet"> <listheader> <term>見出し行の概要</term> <description>見出し行の詳細</description> </listheader> <item> <term>項目の概要</term> <description>項目の詳細</description> </item> </list> 画像 各項目の先頭には行頭記号が付与される。 listheader と item とで表示に差異はない。
番号付きリスト (number) <list type="number"> <listheader> <term>見出し行の概要</term> <description>見出し行の詳細</description> </listheader> <item> <term>項目の概要</term> <description>項目の詳細</description> </item> <item> <term>項目の概要</term> <description>項目の詳細</description> </item> </list> 画像 listheader (省略可能)には 0 が、item には 1 から始まる連番が割り振られる。
テーブル (table) <list type="number"> <listheader> <term>見出し行の概要</term> <description>見出し行の詳細</description> </listheader> <item> <term>項目の概要</term> <description>項目の詳細</description> </item> <item> <term>項目の概要</term> <description>項目の詳細</description> </item> </list> 画像 行頭記号や連番は付与されない。